/*
客户端中用到了 process 这个模块，process是一个Node.js的全局模块，
可以在任何地方直接使用而无需通过require方法引入。
process模块允许你获得或者修改当前Node.js进程的设置。
process.stdin用于获取来自标准输入的可读流（Readable Stream）。
*/
var net = require('net');

process.stdin.resume();
process.stdin.setEncoding('utf8');

var client = net.connect({ port: 8080 }, function() {
    console.log('连接到服务器');

    // 获取输入的字符串
    console.log('input: ');

    process.stdin.on('data', function(data) {
        console.log('input: ');
        client.write(data);

        // 输入 'close' 字符串时关闭连接
        if (data === 'close\n') {
            client.end();
        }
    });
});

// 获取服务端发送过来的数据
client.on('data', function(data) {
    console.log('用户说', data.toString());
});

client.on('end', function() {
    console.log('客户端断开连接');
    process.exit();
});